package com.cw.entity;

import com.baomidou.mybatisplus.annotation.TableName;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.alibaba.excel.annotation.ExcelProperty;

/**
 * @author xnd
 * @since 2023-11-20
 */
@ApiModel(value = "预约日志操作监听表")
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("LISTENING_LOG")
public class ListeningLog implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "操作入口")
    @ExcelProperty(value = "SITE")
    @TableField("SITE")
    private String site;

    @ApiModelProperty(value = "执行操作")
    @ExcelProperty(value = "OPERATION")
    @TableField("OPERATION")
    private String operation;

    @ApiModelProperty(value = "IP")
    @ExcelProperty(value = "IP")
    @TableField("IP")
    private String ip;

    @ApiModelProperty(value = "备注")
    @ExcelProperty(value = "BZ")
    @TableField("BZ")
    private String bz;

    @ApiModelProperty(value = "创建者")
    @ExcelProperty(value = "CREATE_BY")
    @TableField("CREATE_BY")
    private String createBy;

    @ApiModelProperty(value = "创建时间/操作时间")
    @ExcelProperty(value = "CREATE_TIME")
    @TableField("CREATE_TIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "接口方法")
    @ExcelProperty(value = "METHOD")
    @TableField("METHOD")
    private String method;

    @ApiModelProperty(value = "类型")
    @ExcelProperty(value = "TYPE")
    @TableField("TYPE")
    private String type;

    @ApiModelProperty(value = "创建者姓名")
    @ExcelProperty(value = "REAL_NAME")
    @TableField("REAL_NAME")
    private String realName;

    @ApiModelProperty(value = "传入参数数组")
    @ExcelProperty(value = "ARGS")
    @TableField("ARGS")
    private String args;
}
